package com.cbg.es.repository;

import com.cbg.dto.SelectedColListDTO;
import com.cbg.es.entity.EsTableCol;
import com.shuyuwl.core.repository.DaoRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 分类下展示的表所需要的字段 repository
 *
 * @author wangjuzheng
 * @since 2019-10-16
 */
@Repository
public interface IEsTableColRepository extends DaoRepository<EsTableCol, Long> {

    /**
     * 根据展示表id查询所有的列信息
     *
     * @param esTableCategoryId 展示表id
     * @param status            状态
     * @param colStatus         基础列状态
     * @return 列信息
     */
    @Query("select new com.cbg.dto.SelectedColListDTO(e.id,c.id,c.name,c.nameCn,e.colName,e.status)" +
            "from EsTableCol e left join EsCol c  on e.colId =c.id " +
            "where e.esTableCategoryId =?1 and e.status <?2 and c.status =?3 order by e.sort asc")
    List<SelectedColListDTO> selectedTableCategory(Long esTableCategoryId, Byte status, Byte colStatus);

    /**
     * 查询未删除的展示列信息
     *
     * @param id     展示列id
     * @param status 状态
     * @return 展示列信息
     */
    EsTableCol findByIdAndStatusLessThan(Long id, Byte status);


}
